Many cellular communication networks use USSD (Unstructured Supplementary Service Data) to convey proprietary data and messages between handsets and network servers. Although USSD can be used for any purpose, it is often used to implement what are known as service codes, also referred to as feature codes, quick codes, or short codes. A service code is a textual code that can be entered into a handset by a user to provide information or instructions to a service provider and to receive responsive information. For example, a user may enter the code #bal# to see the amount of unused minutes in the user's account. When the user enters the service code, the code is sent to the service provider in a USSD message. The service provider looks up the information corresponding to the code and returns the information to the handset in a responsive USSD message. The handset displays the information to the user.
A user can also modify settings and configurations using service codes. As one example, a service code may allow a user to turn call forwarding on and off
USSD can also be used other services, such as callback services, money exchange services, location-based information services, service configuration, and so forth. Because USSD messages are not standardized, a given provider can use USSD for any desired purpose.
USSD services were originally used in older, circuit-switched networks, using SS7 (Signaling System 7) communication channels and protocols. However, service providers are gradually converting their networks to use IMS (IP Multimedia Subsystem) services and IP-based communications. Communications in these systems are often based on SIP (Session Initiation Protocol) and Diameter communication protocols rather than the previously used SS7 protocols.
Newer architectures typically provide flexibility by enabling service providers to deploy new IP-based technologies while keeping costs in line by leveraging existing services and signaling protocols. USSD is one example of this, where USSD messages can be handled in certain updated systems using SS7 communication protocols. However, a goal of many service providers is to eventually eliminate use of most or all such older protocols within their networks.